import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 17655
 * Date: 2025-04-22
 * Time: 22:35
 */
public class test1 {
    public int[][] merge(int[][] intervals) {
        if(intervals.length==0){
            return new int[0][0];
        }
        Arrays.sort(intervals,(val1,val2) ->val1[0]-val2[0]);
        List<int[]> ret = new ArrayList<>();
        // 先拼接排序后的第一个元素
        ret.add(intervals[0]);
        for(int i=0;i<intervals.length;i++){
            int l = intervals[i][0];
            int r = intervals[i][1];
            // 如果我新数组的左边元素小于我之前数组的最右边的元素
            if(l<=ret.get(ret.size()-1)[1]){
                // 那数组的右边就变更为新数组或者数组自身的右边（看谁大）
                ret.get(ret.size()-1)[1] = Math.max(r,ret.get(ret.size()-1)[1]);
            }else{
                ret.add(intervals[i]);
            }
        }
        return ret.toArray(new int[ret.size()][]);
    }
}
